A collection of objects, and particularly a collection of digital objects, may be hierarchically organized for convenience in searching for and locating a particular object. For example, a file stored on a computer may be represented by the computer's file system as being located within a folder. The computer may have a storage medium such as a disk drive with a base folder at a first-level, a number of folders at a second-level where each second-level folder may be a child of the first-level folder, a number of folders at a third-level down where each third-level folder may be a child of a particular second-level folder, etc., and where each file of the collection of files may reside within a particular folder. Each folder may be given a title that relates to the files and other folders it stores. The first-level folder may have the broadest scope, and each sub-folder may have a subordinate significance. As a result, when objects are organized hierarchically, a user may find a particular object quickly by sequentially opening folders from the first-level down matching the descriptive folder titles with the character of the intended object.
However, there are problems associated with using hierarchical structure to organize digital objects. In order for the hierarchical structure to be an effective organizational tool, the character of the individual objects must conform to the folder titles in which they are held. Often this requires a user to pre-establish some organizational scheme of folder titles before populating the folders. Furthermore, if a hierarchical organization is not imposed as the objects are incorporated within the collection, it may be difficult to re-organize the objects later. For example, even though a organization of folders exists, there may be nothing to prevent a user from storing every object of the collection in one folder, such as the base folder.
One particular collection of objects that is illustrative may be a collection of digital photographs on a computer. The user may intend to hierarchically organizing the digital photographs into relevant folders. For example, the user may wish to hierarchically organize the photographs by date taken, by location taken, by subject matter, by individuals pictured, and the like. If the organizational scheme is not maintained over time, the digital photographs may nevertheless end up unorganized, in a single folder. As the collection grows relatively large, the collection as dumped may be difficult to navigate except by a manual review of each photograph in the collection.
On the other hand, the user may not establish a pre-determined organizational scheme for storing photos, but the individual may “tag” individual photographs with a text annotation associated with the digital file. The tags need not conform with any pre-determined organizational scheme. The individual may tag each individual photograph based solely on the subject matter of the photograph itself, rather than how that photograph might fit within an overall organizational scheme.
Each tag may relate to any aspect of the photograph such as date taken, location taken, subject matter, individuals pictured, and the like. In addition, digital photographs may be available to a broad number of people through the internet and online picture galleries. The picture gallery may allow viewers to “tag” individual photographs with a text annotation. The collection of text annotations may grow quite large in number and diverse in description. The tags alone may facilitate searching by providing searchable descriptions, but the tags alone do not provide a hierarchical organization system because the tags may not be created according to any pre-determined organizational scheme and because the tags may not include syntax related to a hierarchical organization system.
Previous systems have employed tags to aid in the creation of hierarchical data structures, but they have been limited to establishing a pre-determined organizational scheme and including hierarchical syntax within the tags. See U.S. Pat. No. 6,484,166. When tags are created without regard to any pre-determined organizational scheme and do not include syntax related to a hierarchical organization system, the content of the tags themselves may imply relationships among the individual digital objects. Thus, there is a need for a method and a system to derive hierarchical organization from flat sets of tagged digital objects, leveraging the inherent collective information of the descriptive attributes to organize files and other digital objects into hierarchical structures.